package com.by.common.crud;

import com.by.common.bean.PageBean;

import java.util.Map;

/**
 * 这句话定义了一个名为 BaseService 的接口，该接口泛型参数为 T，并且它扩展（extends）了另一个名为 Crud<T> 的接口。
 * 这里的 <T> 是一个类型参数，表示 BaseService 和 Crud 都是泛型接口，能够处理任何类型的对象。
 * public interface BaseService<T>：声明了一个公共（public）的泛型接口 BaseService，其中 T 表示任意类型。
 * extends Crud<T>：指定了 BaseService 继承自 Crud<T> 接口。
 * 这意味着 BaseService 必须实现 Crud<T> 中的所有方法，并且可以添加更多的方法或者约束条件。
 * 这种设计方式常见于面向对象编程语言中，
 * 特别是在 Java 中用来实现通用的数据访问层（Data Access Layer, DAL），
 * 使得开发人员可以通过继承和多态来重用代码、简化业务逻辑的编写过程，并提高系统的可维护性和灵活性。
 * @param <T>
 */
public interface BaseService<T> extends Crud<T> {
    /**
     * 分页查询
     *
     * @param map
     * @return
     */
    PageBean query(Map map);
}
